from flask import Flask, request, jsonify

from BusinessNameFunc import BusinessApi
from DistanceFunc import DistanceApi  # 假设你的 DistanceApi 类在 DistanceFunc.py 文件中

# 创建 Flask 应用
app = Flask(__name__)


@app.route('/get_businesses', methods=['GET'])
def get_businesses():
    # 创建 DistanceApi 实例
    distance_api = DistanceApi()
    try:
        # 从请求参数中获取经纬度和最大距离
        longitude = float(request.args.get('longitude'))
        latitude = float(request.args.get('latitude'))
        max_distance = float(request.args.get('max_distance'))

        # 调用 DistanceApi 的 run 方法
        result_df = distance_api.run(longitude, latitude, max_distance)

        # 将 DataFrame 转换为 JSON 格式
        result_json = result_df.toJSON().collect()

        # 返回 JSON 格式的结果
        return jsonify(result_json)

    except Exception as e:
        return jsonify({
            "status": "error",
            "message": str(e)
        })

if __name__ == '__main__':
    # 启动 Flask 应用
    app.run(host='0.0.0.0', port=5000, debug=True)